home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 010 / trap.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1984-04-24  |  1.7 KB  |  75 lines

  1. 10  <UNK! {0009}>REM   SNAKE-COMPUTER GAME
  2. 20  <UNK! {0009}>REM  MODIFIED VERSION
  3. 30  <UNK! {0009}>DEFINT A-Z
  4. 40  <UNK! {0009}>TI=VAL(RIGHT$(TIME$,2))
  5. 50  <UNK! {0009}>RANDOMIZE TI
  6. 60  <UNK! {0009}>OPTION BASE 1
  7. 70  <UNK! {0009}>DIM P(2),D(2)
  8. 80  <UNK! {0009}>KEY OFF:CLS:SCREEN 0,0,0: WIDTH 80
  9. 90  <UNK! {0009}>DEF SEG=&H40
  10. 92  <UNK! {0009}>IF (PEEK(&H10) AND &H30)=&H30 THEN DEF SEG=&HB000 ELSE DEF SEG=&HB800
  11. 95       PRINT">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> SNEAKY SNAKE <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  12. 100  <UNK! {0009}>INPUT "ENTER VALUE FOR DELAY ('Q' FOR QUIT, 'RETURN' FOR SAME VALUE";Z1$
  13. 105  <UNK! {0009}>CLS:C=C+1
  14. 110  <UNK! {0009}>IF Z1$="Q" OR Z1$="q" THEN GOTO 650
  15. 120  <UNK! {0009}>IF Z1$="" THEN GOTO 140
  16. 130  <UNK! {0009}>Z=VAL(Z1$)
  17. 140  <UNK! {0009}>A=219:B=177
  18. 150  <UNK! {0009}>P(1)=2010
  19. 160  <UNK! {0009}>D(1)=2
  20. 170  <UNK! {0009}>P(2)=1990
  21. 180  <UNK! {0009}>D(2)=-2
  22. 190  <UNK! {0009}>R1=0.8
  23. 200  <UNK! {0009}>FOR I=0 TO 160 STEP 2
  24. 210  <UNK! {0009}>POKE I,178
  25. 220  <UNK! {0009}>POKE I+(4000-160),178
  26. 230  <UNK! {0009}>NEXT I
  27. 240  <UNK! {0009}>FOR I=0 TO 4000 STEP 160
  28. 250  <UNK! {0009}>POKE I,178
  29. 260  <UNK! {0009}>POKE I+158,178
  30. 270  <UNK! {0009}>NEXT
  31. 280  <UNK! {0009}>FOR I=11 TO 14
  32. 290  <UNK! {0009}>KEY (I) ON
  33. 300  <UNK! {0009}>NEXT
  34. 310  <UNK! {0009}>ON KEY(11) GOSUB 450
  35. 320  <UNK! {0009}>ON KEY(12) GOSUB 460
  36. 330  <UNK! {0009}>ON KEY(13) GOSUB 470
  37. 340  <UNK! {0009}>ON KEY(14) GOSUB 480
  38. 350  <UNK! {0009}>P(1)=P(1)+D(1)
  39. 360  <UNK! {0009}>P(2)=P(2)+D(2)
  40. 370  <UNK! {0009}>R!=R!+(1-R!)/20:N=N+1
  41. 380  <UNK! {0009}>IF PEEK(P(1))<>32 THEN GOTO 490
  42. 390  <UNK! {0009}>IF PEEK(P(2))<>32 THEN GOTO 500
  43. 400  <UNK! {0009}>POKE P(1),A
  44. 410  <UNK! {0009}>POKE P(2),B
  45. 420  <UNK! {0009}>GOSUB 510
  46. 430  <UNK! {0009}>FOR Q=1 TO Z:NEXT Q
  47. 440  <UNK! {0009}>GOTO 350
  48. 450  <UNK! {0009}>D(1)=-160:RETURN
  49. 460  <UNK! {0009}>D(1)=-2:RETURN
  50. 470  <UNK! {0009}>D(1)=2:RETURN
  51. 480  <UNK! {0009}>D(1)=160:RETURN
  52. 490  <UNK! {0009}>GOSUB 700:PRINT CHR$(11);"YOU LOSE      ";:N=N/10:GOTO 600
  53. 500  <UNK! {0009}>GOSUB 710:PRINT CHR$(11);"YOU WIN       ";:GOTO 600
  54. 510  <UNK! {0009}>IF PEEK(P(2)+D(2))=32 AND RND<R! THEN RETURN
  55. 520  <UNK! {0009}>IF ABS(D(2))=2 THEN D(2)=160:GOTO 560
  56. 530  <UNK! {0009}>IF ABS(D(2))=160 THEN D(2)=2
  57. 540  <UNK! {0009}>IF P(2)<2000 AND D(2)=160 THEN D(2)=-D(2)
  58. 550  <UNK! {0009}>GOTO 580
  59. 560  <UNK! {0009}>DI=P(2)/160
  60. 570  <UNK! {0009}>IF DI>12 THEN D(2)=-D(2):GOTO 580
  61. 580  <UNK! {0009}>IF PEEK(D(2)+P(2))<>32 THEN D(2)=-D(2)
  62. 590  <UNK! {0009}>RETURN
  63. 600  <UNK! {0009}>FOR I=1 TO 1000:NEXT
  64. 610  <UNK! {0009}>IF N>HIGH THEN HIGH=N
  65. 620  <UNK! {0009}>PT=PT+N:PRINT"SCORE:";N;" AVERAGE SCORE:";INT(PT/C);"HIGH SCORE:"HIGH
  66. 630  <UNK! {0009}>N=0
  67. 640  <UNK! {0009}>GOTO 100
  68. 650  <UNK! {0009}>PRINT "AVERAGE SCORE:";INT(PT/C);"HIGH SCORE:"HIGH
  69. 660  <UNK! {0009}>PRINT "THANKS FOR PLAYING"
  70. 670      END
  71. 700  <UNK! {0009}>FOR I=100 TO 50 STEP -5:SOUND I,1:NEXT                   'LOSER SOUND
  72. 705  <UNK! {0009}>FOR I=1 TO 8:SOUND 37,1:SOUND 39,1:NEXT:RETURN
  73. 710  <UNK! {0009}>FOR I=200 TO 300 STEP 20:SOUND I,1:NEXT:SOUND 32767,2    'WINNER SOUND
  74. 715  <UNK! {0009}>FOR I=1 TO 2:SOUND 400,3:SOUND 600,4:SOUND 32767,1:NEXT:RETURN
  75.